﻿<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
//文件重命名
function renameFile(){   
    var folder=document.getElementById("folder").value;
    var oldFileName=document.getElementById("oldFileName").value;
    var newFileName=document.getElementById("newFileName").value;
    window.requestFileSystem(window.PERSISTENT, 1024*1024, function(fs) {
        rename(fs.root, folder+'/'+oldFileName,newFileName,folder+'/');
    }, errorHandler);
}
function rename(cwd,oldFileName,newFileName,folder) {    
    cwd.getFile(oldFileName, {create:false}, 
    //获取文件成功时执行的回调函数
    function(fileEntry) {
        cwd.getDirectory(folder, {create:false}, 
        //获取文件目录成功时执行的回调函数
        function(folder) {
            fileEntry.moveTo(folder,newFileName,
                //文件重命名操作成功时执行的回调函数
                function() {
                    document.getElementById("result").innerHTML ='修改文件名成功,新文件名：'+newFileName;
                }, 
                //文件重命名操作失败时执行的回调函数
                errorHandler
            );
        }, 
        //获取目录失败时执行的回调函数
        errorHandler);
    //获取文件失败时执行的回调函数
    }, errorHandler);
}
function errorHandler(e) {
    switch (e.code) {
        case FileError.QUOTA_EXCEEDED_ERR:
            console.log('文件系统所使用的存储空间的尺寸超过磁盘限额控制中指定的空间尺寸');
            break;
        case FileError.NOT_FOUND_ERR:
            console.log('未找到文件或目录');
            break;
        case FileError.SECURITY_ERR:
            console.log( '操作不当引起安全性错误');
            break;
        case FileError.INVALID_MODIFICATION_ERR:
            console.log('对文件或目录所指定的操作不能被执行');
            break;
        case FileError.INVALID_STATE_ERR:
            console.log('指定的状态无效');
    };
}

</script>
</head>
<body>
<h1>文件重命名</h1>        
目 录：<input type="text" id="folder"><br/>  
文件名：<input type="text" id="oldFileName"><br/> 
新文件名：<input type="text" id="newFileName"><br/>   
<input type="button" value="文件重命名" onclick="renameFile()"><br/>
<output id="result" ></output> 
</body>
</html> 
